/**
 * Created by wanghuabing on 2015/4/29.
 * 上下覆盖切换效果
 */
var windowWidth;
var windowHeight;
var isPC = navigator.platform.indexOf("Win") >= 0 ? !0 : !1;

Zepto(function($) {
    var $window = $(window);

    var resetSlides = function() {
        //设置滑动窗大小
        windowWidth = $window.get(0).innerWidth;
        windowHeight = $window.get(0).innerHeight;

        $("#slide").css({width:windowWidth, height:windowHeight});
        $("#slide > .pages").css({width:windowWidth, height:windowHeight});
        $("#slide > .pages > section").css({width:windowWidth, height:windowHeight});

        //向上箭头初始化先不显示
        $("#slide > .slideArrow").removeClass("enabled");

        var sections = $("#slide > .pages > section");
        var sectionsLength = sections ? sections.length : 0;

        //如果有页面
        if (0 < sectionsLength)
        {
            //获取标记为当前页的页面
            var currentPage = $("#slide > .pages > section.present");

            //如果没有标记为当前页面或标记为当前页的页面数不等于1
            if (!currentPage || 1 != currentPage.length)
            {
                //清除当前页标记，上一页标记，下一页标记
                $("#slide > .pages > section").removeClass("present");
                $("#slide > .pages > section").removeClass("future");
                $("#slide > .pages > section").removeClass("past");

                //标记第一页为当前页
                var firstSection = $("#slide > .pages > section:first").addClass("present");
                //如果总页面数多余1页则标记接下来的一页为下一页，并且使向上的箭头可用
                if (1 < sectionsLength)
                {
                    firstSection.next().addClass("future");
                    $("#slide > .slideArrow").addClass("enabled");
                }
            }
            //有标记为当前页的页面且只有一个
            else
            {
                //清除上一页，下一页标记
                $("#slide > .pages > section").removeClass("future");
                $("#slide > .pages > section").removeClass("past");

                //下一页存在
                var futurePage = currentPage.next();
                if (futurePage && 1 == futurePage.length)
                {
                    futurePage.addClass("future");
                    $("#slide > .slideArrow").addClass("enabled");
                }
                //上一页存在
                var pastPage = currentPage.prev();
                if (pastPage && 1 == pastPage.length)
                {
                    pastPage.addClass("past");
                }
            }
        }
    };

    //显示下一页
    var showNextPage = function() {
        //获取标记为当前页的页面
        var currentPage = $("#slide > .pages > section.present");
        //获取标记为当前页的页面的下一页
        var nextPage = currentPage.next();
        if (nextPage && 1 == nextPage.length)
        {
            //清除下一页标记和上一页标记
            $("#slide > .pages > section").removeClass("future");
            $("#slide > .pages > section").removeClass("past");
            //将原来标记当前页的页面标记为上一页
            currentPage.removeClass("present");
            currentPage.addClass("past");
            //原来标记为下一页的页面标记为当前页
            nextPage.addClass("present");

            //获取即将标记为下一页的页面
            var futurePage = nextPage.next();
            if (futurePage && 1 == futurePage.length)
            {
                //标记为下一页，且向上箭头可用
                futurePage.addClass("future");
                $("#slide > .slideArrow").addClass("enabled");
            }
            else
            {
                $("#slide > .slideArrow").removeClass("enabled");
            }
        }
    };

    //显示上一页
    var showPrevPage = function() {
        //获取标记为当前页的页面
        var currentPage = $("#slide > .pages > section.present");
        //获取标记为当前页的页面的上一页
        var prevPage = currentPage.prev();
        if (prevPage && 1 == prevPage.length)
        {
            //清除下一页标记和上一页标记
            $("#slide > .pages > section").removeClass("future");
            $("#slide > .pages > section").removeClass("past");
            //将原来标记当前页的页面标记为下一页
            currentPage.removeClass("present");
            currentPage.addClass("future");
            //原来标记为上一页的页面标记为当前页
            prevPage.addClass("present");
            //获取即将标记为上一页的页面
            var pastPage = prevPage.prev();
            if (pastPage && 1 == pastPage.length)
            {
                pastPage.addClass("past");
            }
            $("#slide > .slideArrow").addClass("enabled");
        }
    };

    /*初始化滑动*/
    var initSwip = function() {
        var sargs={
            iniL:30,//X方向滑动的最小距离
            iniT:500,//Y方向滑动的最大距离
            eCallback:function(tPoint) {
                switch(tPoint.direction) {
                    case "up":
                        showNextPage();
                        break;
                    case "down":
                        showPrevPage();
                }
            }
        };
        $("#slide").Swipe(sargs);
    };

    /*加载延迟加载的图片*/
    var loadLazyImg = function() {
        $(".lazyBgImg").each(function(index){
            $this = $(this);
            var backgroundImage = $this.attr("data-bg-img");
            if (backgroundImage && 0 < backgroundImage.length)
            {
                var backgroundImageUrl = "url(" + backgroundImage + ")";
                $this.css("background-image",backgroundImageUrl);
            }
        });
    };

    $window.on("load", function(){
        var timeout = setTimeout(function() {
            resetSlides();
            $("#loadingPage").remove();
            loadLazyImg();
            initSwip();
        }, 100);
    });
});